package com.mayuhao.userstudent.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mayuhao.userstudent.entity.UserStudent;
import com.mayuhao.userstudent.util.Result;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 马宇豪
 * @since 2022-10-27
 */
public interface IUserStudentService extends IService<UserStudent> {
    /**
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.mayuhao.userstudent.entity.UserStudent>
     * @description 请修改方法描述
     * @methodName findPage
     * @params [pageNum, pageSize, searchId, searchName]
     * @paramType [java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String]
     * @author 马宇豪
     * @date 2022/10/27 0027 下午 1:40
     * @email 1757442521@qq.com
     **/
    Page<UserStudent> findPage(Integer pageNum, Integer pageSize, String searchId, String searchName);

    /**
     * @return boolean
     * @description 请修改方法描述
     * @methodName chooseCourse
     * @params [courseId]
     * @paramType [java.lang.Integer]
     * @author 马宇豪
     * @date 2022/10/27 0027 下午 4:44
     * @email 1757442521@qq.com
     **/
    boolean chooseCourse(String courseId);

    /**
     * @return boolean
     * @description 请修改方法描述
     * @methodName returnCourse
     * @params [courseId]
     * @paramType [java.lang.Integer]
     * @author 马宇豪
     * @date 2022/10/27 0027 下午 4:45
     * @email 1757442521@qq.com
     **/
    boolean returnCourse(String courseId);

    /**
     * @return boolean
     * @description 请修改方法描述
     * @methodName saveChooseCourse
     * @params [studentId, courseId]
     * @paramType [java.lang.Integer, java.lang.Integer]
     * @author 马宇豪
     * @date 2022/10/27 0027 下午 7:34
     * @email 1757442521@qq.com
     **/
    boolean saveChooseCourse(String studentId, String courseId);

    /**
     * @return boolean
     * @description 请修改方法描述
     * @methodName deleteChooseCourse
     * @params [studentId, courseId]
     * @paramType [java.lang.String, java.lang.String]
     * @author 马宇豪
     * @date 2022/10/30 0030 下午 8:40
     * @email 1757442521@qq.com
     **/
    boolean deleteChooseCourse(String studentId, String courseId);

    /**
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.mayuhao.userstudent.entity.UserStudent>
     * @description 请修改方法描述
     * @methodName hasChoosePage
     * @params [pageNum, pageSize, searchId, searchName]
     * @paramType [java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String]
     * @author 马宇豪
     * @date 2022/10/31 0031 上午 8:44
     * @email 1757442521@qq.com
     **/
    Page<UserStudent> hasChoosePage(Integer pageNum, Integer pageSize, String studentId, String searchId, String searchName);

    /**
     * @return boolean
     * @description 请修改方法描述
     * @methodName selectBeforeChoose
     * @params [studentId, courseId]
     * @paramType [java.lang.String, java.lang.String]
     * @author 马宇豪
     * @date 2022/11/10 0010 上午 12:42
     * @email 1757442521@qq.com
     **/
    Result selectBeforeChoose(String studentId, String courseId, String courseName, String goCourseTime);

    /**
     * @return java.util.List<com.mayuhao.userstudent.entity.UserStudent>
     * @description 请修改方法描述
     * @methodName ScheduleSelect
     * @params []
     * @paramType []
     * @author 马宇豪
     * @date 2022/11/13 0013 下午 4:49
     * @email 1757442521@qq.com
     **/
    List<UserStudent> scheduleSelect();


}
